package week03;

import java.util.Scanner;

class Person {

	private String name;
	private boolean gender;
	private int age;
	public Person tostring;
	private static int id;

	public Person (){
		System.out.println("This is constructor");	
		System.out.println(this.name+","+this.age+","+this.gender+","+this.id);
	}
	
	
	public Person(String name,int age ,boolean gender) {
		this.name = name;
		this.age = age;
		this.gender = gender;
		
	}

	static{
    	System.out.println("This is static initialization block");
    }

	{
		
    	System.out.println("This is initialization block, id is "+id);
    	//this.id +=1;
    }

	public String getName() {
		return name;
	}


	public void setName(String name) {
		this.name = name;
		
	}


	public boolean isGender() {
		return gender;
	}


	public void setGender(boolean gender) {
		this.gender = gender;
	}


	public int getAge() {
		return age;
	}


	public void setAge(int age) {
		this.age = age;
	}


	public static int getId() {
		return id;
	}


	public static void setId(int id) {
		Person.id = id;
	}


	@Override
	public String toString() {
		String str = "Person [name=" + name + ", age=" + age + ", gender=" + gender + ", id=" + id +"]";
		this.id +=1;
		return str;
	}
}

public class Main2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = Integer.parseInt(sc.nextLine());
		String[] persons = new String[n];
		for(int i=0; i<n ; i++) {
			Person person = new Person(sc.next(),sc.nextInt(),sc.nextBoolean());
			persons[i]= person.toString();
			//System.out.println(persons[i]);
		}
		for(int j=persons.length-1; j>=0 ; j-- )
		{   
			System.out.println(persons[j]);
		}
		System.out.println(new Person());
		sc.close();
	}

}

